package kr.co.doriclassic.powerjava.chapter20;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArraysEx {
	public static void main(String[] args) {
		//제네릭은 그 해당 형식만 받겠다는 뜻 랩퍼클래스만 가능하다
		ArrayList<Integer> arList = new ArrayList<>();
		
		for (int i = 0; i < 11; i++) {
			//배열에 추가해준다.
			arList.add(i);
		}
		System.out.print("arList.add(i):");
		for (int  a : arList) {
			System.out.printf("%-3d",a);
		}
/*		System.out.println();
		for (int  a : arList) {
			System.out.printf("%3d",a);
		}
*/		
		int[] arr = new int[10];
		for (int i = 0; i < 10; i++) {
			arr[i]=i+1;
		}
		
		System.out.println();
		List<Integer> list = Arrays.asList(1,2,3,4,5,6,7);
		System.out.print("list.get(i):");
		for (int i = 0; i < list.size(); i++) {
			System.out.printf("%-3d",list.get(i));
		}
		
		System.out.println();
		System.out.print("arr[]:");
		for (int a:arr) {
			System.out.printf("%-3d",a);
		}
		System.out.println();
		System.out.print("Arrays.binarySearch(arr, 5):");
		//로또 중복값 판단, 배열에서 해당하는 값의 위치를 반환해준다.
		int idx1 = Arrays.binarySearch(arr, 5);
		//int idx2 = Arrays.binarySearch(arr, 11);
		System.out.println("5의 위치는? "+idx1);
		//System.out.println("5의 위치는? "+idx2);
		
		boolean[] lotto = new boolean[45];
		//배열 초기화
		System.out.print("Arrays.fill(lotto, true):");
		Arrays.fill(lotto, true);
		for (boolean b : lotto) {
			System.out.print(b+" ");
		}
	}
}
